package com.dong.oss.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 迁移结果DTO
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MigrationResult {
    
    /**
     * 迁移是否成功
     */
    private boolean success;
    
    /**
     * 总文件数
     */
    private int totalFiles;
    
    /**
     * 成功迁移的文件数
     */
    private int successCount;
    
    /**
     * 失败的文件数
     */
    private int failureCount;
    
    /**
     * 跳过的文件数（已存在）
     */
    private int skippedCount;
    
    /**
     * 开始时间
     */
    private LocalDateTime startTime;
    
    /**
     * 结束时间
     */
    private LocalDateTime endTime;
    
    /**
     * 耗时（毫秒）
     */
    private long durationMs;
    
    /**
     * 成功的文件列表
     */
    private List<String> successFiles;
    
    /**
     * 失败的文件列表
     */
    private List<String> failureFiles;
    
    /**
     * 跳过的文件列表
     */
    private List<String> skippedFiles;
    
    /**
     * 错误信息
     */
    private String errorMessage;
}